package com.zy.crm.workbench.controller;


import com.zy.crm.vo.Message;
import com.zy.crm.vo.PaginationVo;
import com.zy.crm.workbench.domain.Water;
import com.zy.crm.workbench.domain.yingYun_gangAo;
import com.zy.crm.workbench.service.yingYun_gangAoService;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author CYH
 * 2021年11月17日测试功能完成
 */
//
@Controller
public class yingYun_gangAoController {

    @Resource
    private yingYun_gangAoService yingYun_gangAoService;


    // 添加用户信息，无误
    @RequestMapping("/workbench/yingyun_gangao/saveGangAo.do")
    @ResponseBody
    public Object saveActivity(yingYun_gangAo GA){
        //测试
        System.out.println("进入保存成功，前端无误，继续排查");
        System.out.println(GA);
        // 得到保存结果
        Message msg = yingYun_gangAoService.saveGangAo(GA);

        return msg;
    }

    @RequestMapping("/workbench/yingyun_gangao/pageList.do")
    @ResponseBody
    // 查询用分页
    public Object getPageList(String pageNo, String pageSize,yingYun_gangAo water){
        //System.out.println("进入了查询界面");

       // System.out.println("测试数据传输了什么"+water);
        PaginationVo<yingYun_gangAo> paginationVo = yingYun_gangAoService.getPageList(pageNo,pageSize,water);
        //System.out.println(paginationVo);
        return paginationVo;
    }

    // 删除根据id,无误
    @RequestMapping("/workbench/yingyun_gangao/delete.do")
    @ResponseBody
    public Message deleteActivity(HttpServletRequest request) {

        // 拿到ActivityId数组
        String GAIds[] = request.getParameterValues("id");
        //System.out.println("数据是："+GAIds);
        // 根据id数组删除市场活动cce5c8636660495d839bd0f661cc5d66
                           //cce5c8636660495d839bd0f661cc5d665
        Message msg = yingYun_gangAoService.deleteGangAo(GAIds);
        System.out.println("删除成功");
        return msg;
    }


    // 修改市用户数据依据id,测试中
    @RequestMapping("/workbench/yingyun_gangao/updateGangAo.do")
    @ResponseBody
    public Message updateActivityById(yingYun_gangAo GA){
       // System.out.println("成功添加数据进入了修改数据");
        System.out.println("测试传入的数据是否异常"+GA);
        //测试到传入的name和id都是null，估计是前端问题
        Message msg = yingYun_gangAoService.updateGangAoById(GA);
        System.out.println("成功出来");
        return msg;

    }

    //根据用户id查询一条用户信息
    @RequestMapping("/workbench/yingyun_gangao/getGangAoById.do")
    @ResponseBody
    public Map<String , Object> getGangAoById(String id){
        Map<String , Object> map = new HashMap<>();
        System.out.println("测试获取原来的信息"+id);
        // 查询到市场活动信息
        yingYun_gangAo GA = yingYun_gangAoService.getGangAoById(id);
        //测试是否有结果返回,结果很明显是进入业务层出错，继续测试
        System.out.println("测试是否有结果返回");
        // 封装入map
        System.out.println(GA);
        map.put("GAById",GA);//测试结果是user里面有name的，是前端有问题

        return  map;
    }


    @RequestMapping("/workbench/yingyun_gangao/pageList1.do")//报表打印
    @ResponseBody
    // 打印数据
    public Message getPageList1(yingYun_gangAo water) throws IOException {

        List<yingYun_gangAo> list = yingYun_gangAoService.getPrint(water);
        //System.out.println("获取的数据是"+paginationVo);
        Message msg=new Message();

        String path="D:\\ssm项目\\crm-master -day11\\";
        Workbook workbook=new HSSFWorkbook();//工作簿
        Sheet sheet =workbook.createSheet("港澳航线船舶营运证");//工作表
        //（1，1）
        Row row1=sheet.createRow(0);//第一行数据
        Cell cell11=row1.createCell(0);//第一列数据
        cell11.setCellValue("序号");//内容
        //(1,2)
        Cell cell12=row1.createCell(1);//第二列数据
        cell12.setCellValue("船名");//内容

        Cell cell13=row1.createCell(2);//第三列数据
        cell13.setCellValue("证书编号");//内容
        Cell cell14=row1.createCell(3);//
        cell14.setCellValue("最大乘坐人数");//内容
        Cell cell15=row1.createCell(4);//
        cell15.setCellValue("最大承重量");//内容
        Cell cell16=row1.createCell(5);//
        cell16.setCellValue("企业类型");//内容
        Cell cell17=row1.createCell(6);//
        cell17.setCellValue("所有者");//内容
        Cell cell18=row1.createCell(7);//
        cell18.setCellValue("批准机关");//内容
        Cell cell19=row1.createCell(8);//
        cell19.setCellValue("批准文号");//内容
        Cell cell110=row1.createCell(9);//
        cell110.setCellValue("客运航线");//内容
        Cell cell111=row1.createCell(10);//
        cell111.setCellValue("货运航线");//内容
        Cell cell112=row1.createCell(11);//
        cell112.setCellValue("签证时间");//内容
        Cell cell113=row1.createCell(12);//
        cell113.setCellValue("有效期");//内容
        String arr[][] = new String[list.size()][13];

        for(int i=0;i<list.size();++i){
            arr[i][0]=list.get(i).getId();
            arr[i][1]=list.get(i).getName();
            arr[i][2]=list.get(i).getZs_num();
            arr[i][3]=list.get(i).getMax_people();
            arr[i][4]=list.get(i).getMax_weight();
            arr[i][5]=list.get(i).getType();
            arr[i][6]=list.get(i).getOwner();
            arr[i][7]=list.get(i).getGovernment();
            arr[i][8]=list.get(i).getAccept_num();
            arr[i][9]=list.get(i).getPeople_road();
            arr[i][10]=list.get(i).getGoods_road();
            arr[i][11]=list.get(i).getBeginTime();
            arr[i][12]=list.get(i).getEndTime();

        }


        for(int i=1;i<=list.size();++i){
            Row row=sheet.createRow(i);//第I+1行数据
            for(int j=0;j<13;++j){
                Cell cell=row.createCell(j);
                cell.setCellValue(arr[i-1][j]);//
            }

        }


        //生成一个表
        FileOutputStream fileOutputStream= new FileOutputStream(path+"港澳航线船舶营运证.xls");

        workbook.write(fileOutputStream);
        //关闭流
        workbook.close();

        System.out.println("成功生成");


        msg.setSuccess(true);

        return  msg;
    }
}


















